package cn.b.sky.mes.hr.service;

import java.util.List;

import cn.b.sky.mes.hr.model.PersonnelConfirm;
import cn.b.sky.mes.hr.model.condition.PersonnelConfirmCondition;

public interface PersonnelConfirmService {

  /**
   * <strong>Title : getPersonnelConfirmListByCondition<br></strong>
   * <strong>Description : </strong>人员报工查询<br> 
   * <strong>Create on : 2016-4-22 上午10:54:13<br></strong>
   * <p>
   * @param condition
   * @return
   * List<PersonnelConfirm>
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<PersonnelConfirm> getPersonnelConfirmListByCondition(PersonnelConfirmCondition condition);

  /**
   * 
   * <strong>Title : getPerformanceCountByCondition<br></strong>
   * <strong>Description : </strong>根据条件查询报工条数<br> 
   * <strong>Create on : 2016-4-22 上午10:57:51<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getPerformanceCountByCondition(PersonnelConfirmCondition condition);

  /**
   * 
   * <strong>Title : savePersonnelConfirm<br></strong>
   * <strong>Description : </strong>报工保存<br> 
   * <strong>Create on : 2016-4-25 下午2:43:00<br></strong>
   * <p>
   * @param personnelConfirm
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void savePersonnelConfirm(PersonnelConfirm personnelConfirm);

  /**
   * 
   * <strong>Title : getPersonnelConfirmById<br></strong>
   * <strong>Description : </strong>根据ID获得报工信息<br> 
   * <strong>Create on : 2016-4-25 下午6:44:57<br></strong>
   * <p>
   * @param id
   * @param siteCode
   * @return
   * PersonnelConfirm
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  PersonnelConfirm getPersonnelConfirmById(Long id, String siteCode);

  /**
   * 
   * <strong>Title : updatePersonnelConfirm<br></strong>
   * <strong>Description : </strong>修改<br> 
   * <strong>Create on : 2016-4-25 下午7:51:42<br></strong>
   * <p>
   * @param personnelConfirm
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updatePersonnelConfirm(PersonnelConfirm personnelConfirm);

  /**
   * 
   * <strong>Title : deletePersonnelConfirmById<br></strong>
   * <strong>Description : </strong>报工删除<br> 
   * <strong>Create on : 2016-4-27 下午1:19:32<br></strong>
   * <p>
   * @param valueOf
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deletePersonnelConfirmById(Long valueOf);

  /**
   * 
   * <strong>Title : getPerformanceCountByCheck<br></strong>
   * <strong>Description : </strong>检查人员：同一时间、同一实际工作中心、同一物料是否报工<br> 
   * <strong>Create on : 2016-4-27 下午3:26:21<br></strong>
   * <p>
   * @param personnelConfirm
   * @return
   * int
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getPerformanceCountByCheck(PersonnelConfirm personnelConfirm);
}
